#pragma once
#include "inputfilter.h"
class DepthInputFilter :
	public InputFilter
{
public:
	enum Outputs { OUTPUT_DEPTH_MAP = 0};

	DepthInputFilter(int width = 640, int height = 480, int fps = 30, bool mirror = true);
	virtual ~DepthInputFilter(void);

	virtual void Process();
	cv::Mat ConvertProjectiveToRealWorld(cv::Mat projective);
	//Converts projective points matrix [x,y,z;x,y,z;..] to real world points matrix [x,y,z;x,y,z;...], CV_32FC1
	
	cv::Mat CovertRealWorldToProjective(cv::Mat realWorld);

private:
	xn::DepthGenerator depth;
	XnMapOutputMode mapMode;
	int width;
	int height;
};

